package com.haixiaoke.saas.department.domain;

import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 机构信息对象 biz_tenant
 *
 * @author xiaolong
 * @date 2023-12-26
 */
@Data
public class Tenant extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 机构id
     */
    private String tenantId;

    /**
     * 父级id
     */
    @Excel(name = "父级id集")
    private String parentIds;

    /**
     * 机构简称
     */
    @Excel(name = "机构简称")
    private String tenantShortName;

    /**
     * 机构名称
     */
    @Excel(name = "机构名称")
    private String tenantName;

    /**
     * 省
     */
    @Excel(name = "省")
    private String provinceId;

    /**
     * 省名称
     */
    @Excel(name = "省名称")
    private String provinceName;

    /**
     * 市
     */
    @Excel(name = "市")
    private String cityId;

    /**
     * 市名称
     */
    @Excel(name = "市名称")
    private String cityName;

    /**
     * 区
     */
    @Excel(name = "区")
    private String districtId;

    /**
     * 区名称
     */
    @Excel(name = "区名称")
    private String districtName;

    /**
     * 街道
     */
    @Excel(name = "街道")
    private String streetId;

    /**
     * 街道名
     */
    @Excel(name = "街道名")
    private String streetName;

    /**
     * 社区
     */
    @Excel(name = "社区")
    private String communityId;

    /**
     * 社区名
     */
    @Excel(name = "社区名")
    private String communityName;

    /**
     * 详细地址
     */
    @Excel(name = "详细地址")
    private String detailAddress;

    /**
     * 编码
     */
    @Excel(name = "编码")
    private String code;

    /**
     * 排序
     */
    @Excel(name = "排序")
    private Long sort;

    /**
     * 类型：1企业;2政府部门;3企业内部，1产权单位;2物业
     */
    @Excel(name = "类型", readConverterExp = "1=产权单位,2=物业", combo = {"产权单位", "物业"})
    private String type;

    /**
     * 级别：根据code计算
     */
    @Excel(name = "级别：根据code计算")
    private Long level;

    /**
     * 企业最大人数
     */
    @Excel(name = "企业最大人数")
    private Long maxPopulation;

    /**
     * 房屋最大数量
     */
    @Excel(name = "房屋最大数量")
    private Long maxHouse;

    /**
     * 激活状态：0未激活;1已激活
     */
    @Excel(name = "激活状态：0未激活;1已激活")
    private Long activateStatus;

    /**
     * logo
     */
    @Excel(name = "logo")
    private String icon;

    /**
     * 营业执照
     */
    @Excel(name = "营业执照")
    private String businessLicense;

    /**
     * 产权单位：0否;1是;2个人
     */
    @Excel(name = "产权单位：0否;1是;2个人")
    private Long ownerType;

    /**
     * 简介
     */
    @Excel(name = "简介")
    private String intro;

    /**
     * 操作人id
     */
    @Excel(name = "操作人id")
    private Long operatorId;

    /**
     * 逻辑删除标志(0代表存在;2代表删除）
     */
    private String delFlag;

    /**
     * 是否开启电子签：0否；1是
     */
    @Excel(name = "是否开启电子签：0否；1是")
    private String electronicVisaStatus;

    /**
     * 是否存在上级机构：0不存在；1存在
     */
    @Excel(name = "是否存在上级机构：0不存在；1存在")
    private String depParentState;

    /**
     * 是否自动派单：0不排单；1派单
     */
    @Excel(name = "是否自动派单：0不排单；1派单", readConverterExp = "0=不排单,1=派单", combo = {"不排单", "派单"})
    private String orderAllocationState;

    /**
     * 联系人
     */
    @Excel(name = "联系人")
    private String contactsName;

    /**
     * 联系电话
     */
    @Excel(name = "联系电话")
    private String contactsPhone;

    /**
     * 是否开通账单：0否；1是
     */
    @Excel(name = "是否开通账单：0否；1是")
    private String billStatus;

    /**
     * 机构状态：0禁用；1启用
     */
    @Excel(name = "机构状态：0禁用；1启用")
    private String tenantStatus;

    /**
     * 是否开通合同功能:0否；1是
     */
    @Excel(name = "是否开通合同功能:0否；1是")
    private String contractStatus;

    /**
     * 授权合同数量上限
     */
    private Integer contractTotalNumber;

    /**
     * 合同已使用数量
     */
    private Integer contractUsedNumber;

    /**
     * 联系人
     */
    private String userName;

    /**
     * 手机号码
     */
    private String phonenumber;

    /**
     * 机构类型集合
     */
    private String[] typeList;

    /**
     * 上级机构集合
     */
    private String[] parentIdList;

    /**
     * 菜单id组
     */
    private Long[] menuIds;
}
